// 环境配置文件
const config = {
  // 开发环境配置
  development: {
    socketUrl: 'wss://127.0.0.1:9666/', // wss://8.134.181.201:9666
    apiBaseUrl: 'http://127.0.0.1:8078',
    envName: '开发环境'
  },
  // 体验版环境配置
  trial: {
    socketUrl: 'wss://pinxuango.cn', // 请替换为你的测试环境域名
    apiBaseUrl: 'https://pinxuango.cn/prod-api',
    envName: '体验环境'
  },
  // 生产环境配置
  production: {
    socketUrl: 'wss://pinxuango.cn', // 请替换为你的生产环境域名
    apiBaseUrl: 'https://pinxuango.cn/prod-api',
    envName: '生产环境'
  }
};

// 获取当前环境
function getCurrentEnv() {
  try {
    const accountInfo = wx.getAccountInfoSync();
    const envVersion = accountInfo.miniProgram.envVersion;
    
    console.log('当前小程序版本:', envVersion);
    
    // 根据小程序版本判断环境
    switch (envVersion) {
      case 'develop':
        return 'development';
      case 'trial':
        return 'trial';
      case 'release':
        return 'production';
      default:
        // 当无法获取环境信息时，根据其他条件判断
        // 检查是否在微信开发者工具中
        if (typeof wx.getSystemInfoSync === 'function') {
          try {
            const systemInfo = wx.getSystemInfoSync();
            // 如果在微信环境中且不是开发版，优先使用生产环境配置
            if (systemInfo.platform === 'devtools') {
              return 'development';
            } else {
              // 在真机环境中，默认使用生产环境配置
              return 'production';
            }
          } catch (e) {
            console.warn('获取系统信息失败，使用生产环境配置:', e);
            return 'production';
          }
        }
        // 兜底策略：默认使用生产环境配置，避免审核时使用开发环境
        return 'production';
    }
  } catch (error) {
    console.error('获取环境信息失败:', error);
    // 出错时使用生产环境配置，避免审核时使用开发环境
    return 'production';
  }
}

// 获取当前环境配置
function getCurrentConfig() {
  const currentEnv = getCurrentEnv();
  return {
    ...config[currentEnv],
    currentEnv: currentEnv
  };
}

module.exports = {
  config,
  getCurrentEnv,
  getCurrentConfig
}; 